51fcbe1094c2b6a126782fb9b9ada2d4d6813f40,applications/accounting/src/org/ofbiz/accounting/thirdparty/verisign/PayflowPro.java,PayflowPro,ccCapture,#DispatchContext#Map#,150
Before Change
// transmit the request
if (Debug.verboseOn()) Debug.logVerbose("Sending to Verisign: " + params.toString(), module);
String resp = pn.SubmitTransaction(params.toString());
if (Debug.verboseOn()) Debug.logVerbose("Response from Verisign: " + resp, module);
After Change
GenericValue paymentPref = (GenericValue) context.get("orderPaymentPreference");
GenericValue authTrans = (GenericValue) context.get("authTrans");
Double amount = (Double) context.get("captureAmount");
String configString = (String) context.get("paymentConfig");
if (configString == null) {
configString = "payment.properties";
}
if (authTrans == null){
authTrans = PaymentGatewayServices.getAuthTransaction(paymentPref);
}
if (authTrans == null) {
return ServiceUtil.returnError("No authorization transaction found for the OrderPaymentPreference; cannot capture");
}
// auth ref number
String refNum = authTrans.getString("referenceNum");
Map data = UtilMisc.toMap("ORIGID", refNum);
// tx type (Delayed Capture)
data.put("TRXTYPE", "D");
// credit card tender
data.put("TENDER", "C");
// get the orderID
String orderId = paymentPref.getString("orderId");
data.put("COMMENT1", orderId);
// amount to capture
data.put("AMT", amount.toString());
PFProAPI pn = init(configString);
// get the base params
StringBuffer params = makeBaseParams(configString);
// parse the context parameters
params.append("&").append(parseContext(data));
// transmit the request
if (Debug.verboseOn()) Debug.logVerbose("Sending to Verisign: " + params.toString(), module);
String resp;
if (UtilProperties.propertyValueEqualsIgnoreCase(configString, "payment.verisign.enable_transmit", "true")) {
resp = pn.SubmitTransaction(params.toString());
} else {
resp = "RESULT=0&AUTHCODE=T&PNREF=" + (new Date()).getTime() + "&RESPMSG=Testing";
}
if (Debug.verboseOn()) Debug.logVerbose("Response from Verisign: " + resp, module);